There is known a content delivery system which delivers content data such as video data via a network in response to a request from a client terminal.
Considered herein is a content delivery system which delivers content data to client terminals set in advance from a storage device which retains content data such as video data.
In general, a cache device connected to the storage device is provided to the content delivery system, and requested content data is cached to the cache device from the storage device when the content data requested by the client terminal is not in the cache device (cache fill). Further, when the requested content data is retained in the cache device (cache hit), the content data is delivered to the client terminal in response to the request from the client terminal (content delivery request).
Further, when the requested content data is not retained in the cache device (cache hit miss), the content data is loaded (cached) to the cache device from the storage device, and the content data is delivered to the client terminal from the cache device thereafter.
Furthermore, when a region (capacity) for allotting (retaining) the content data to the cache device is insufficient, the content data retained prior to that point is discarded and new content data is cached (cache replacement).
Thereby, in the cache device, cache replacement is done when the capacity for caching the content data is insufficient so that the content data retained in the cache device is replaced.
Incidentally, with the content delivery system, it is generally required to reduce delay time of packet provided to the client terminal and to deliver the content data stably in a specific contracted band.
Further, it is also required to perform efficient content delivery to an unspecified large number of client terminals by corresponding to respective given environments such as network load, processing ability of each client terminal, congestion level of the delivery server, or the like on a real-time basis.
For this, for example, there are methods such as a streaming delivery and a content delivery network (CDN), which suppress generation of transmission delay by efficiently storing (arranging) content data in accordance with the access request frequency degree from the client to the storage device and the cache device and stably secure the specific transmission band by dispersing the load to the network and the delivery server.
With the streaming delivery, the delivery server for delivering a content sections moving picture file data into a plurality of pieces of partial data and delivers the partial data in a plurality of times in a divided manner, and the client terminal reproduces the divided file data (partial data) in order every time upon receiving the data.
Thereby, it becomes unnecessary for the client terminal side to wait for all the moving picture files (content data) such as a video to be downloaded (reducing the waiting time). Further, even when there is a fault generated on the line, it is possible to reproduce the already received file data.
Further, with CDN, through placing the delivery servers not on a specific point on a network but at different points close to the client devices as much as possible on the network for dispersing the load of data delivery, it is possible to avoid having the load concentrated to a specific point. Further, it is also possible to decrease deterioration of the delivery quality caused due to packet transmission delay and the like. Therefore, it is particularly effective for the streaming delivery with which a vast amount of file data is transmitted and received.
However, with CDN, it is necessary to provide the delivery servers dispersedly in a wide range, thereby requiring a great amount of cost. Therefore, it is required to reduce the storage regions for each delivery server as much as possible and, further, to utilize the limited storage capacity efficiently.
Further, as an algorithm for cache replacement for efficiently utilizing the storage capacity of the cache device and the storage device, etc., there are LRU (Least Recently Used) which discards the one whose latest access made thereto is the longest time ago, LFU (Least Frequently Used) which discards the one that has been accessed for the least number of times.
For this, there is disclosed a method which improves the use efficiency of the cache region through storing a content to a cache by dividing it into a plurality of encoded layers by using a technique which hierarchically encodes video signals as content data into a basic layer and an extension layer containing a more highly detailed data content (Patent Document 1).
Further, when a part of encoded bit stream is decoded with Patent Document 1, an image of low spatial resolution can be reproduced. When remaining data in the bit stream is decoded further, an additional signal for improving the spatial resolution can be acquired. This makes it possible to perform content delivery to an unspecified large number of client terminals by corresponding to respective given environments such as network load, processing ability of each client terminal, congestion level of the delivery server, or the like on a real-time basis.
Further, as a related technique thereof, there is disclosed a stream server device which caches hierarchically encoded contents (Patent Document 2).
Furthermore, as another related technique, there is disclosed a method which takes a product of an access frequency degree by each hierarchy contained in each content, a reproduction rate, and a reproduction time (content size) as a parameter, and selects and caches the content whose parameter is the smallest in order to increase the hit rate of the cached content (cache hit rate) (Patent Document 3).
Further, as still another related technique, there is disclosed a method which specifies hierarchically encoded content data as data to be cached by a hierarchy (layer) unit and performs cache replacement (Patent Document 4).    Patent Document 1: JP, 4408811, B    Patent Document 2: WO 2004040908    Patent Document 3: Japanese Unexamined Patent Publication 2004-145613    Patent Document 4: Japanese Unexamined Patent Publication 2007-053593
However, Patent Document 1 described above is the structure which discards data of an encoding rate that is close to a requested encoding rate and stores the requested data to that position, when content data of the encoding rate requested by a client device is not stored in the cache. Thus, it is not possible to discard an unused content on the cache, i.e., a content of a low access frequency degree, and to replace it with a new content. Therefore, it is not possible to sufficiently increase the cache use efficiency by replacement.
Further, the encoding rate of the content to be stored to the cache is changed in accordance with the access frequency degree with Patent Document 1 described above. However, since the encoding rate of the content to be cached is changed based only on the content access frequency degree, the cache hit rate is deteriorated in a cache device with a limited capacity when each of the contents has different maximum reproduction rate and size.
Further, with the related technique disclosed in Patent Document 2, it is not possible to increase the cache hit rate for the cached content data.
Furthermore, as described above, with the related technique disclosed in Patent Document 3, the content having the minimum product of the access frequency degree and the content size is cached and replaced. Thus, the access frequency degree per cache capacity cannot be increased in the replaced content. In particular, when the cache capacity is small, the cache hit rate is rather deteriorated.
Further, with the related technique disclosed in Patent Document 4 described above, the hierarchically encoded data to be cached and replaced is determined regardless of the data size of each hierarchical unit and the reproduction time of the content. Therefore, when there is a limit in the cache capacity, the cache hit rate is deteriorated.
An object of the present invention is to provide a content delivery system, a content delivery method, and a content delivery program, which can stably deliver the content data such as video data via a network.